In existing project sharing computer systems for sharing non-linear video editing projects, files or bins containing metadata (e.g., references to clips, sub-clips, etc.) are shared among various users and located on a central server accessible to the users via a user client, such as on a personal computer. Some such systems do not offer any sort of protection against one user overwriting the changes of another. For example, in some such systems, if two users open the same bin or project file simultaneously, both of the users can be provided write access, such that the version ultimately committed to disk is the one that is saved last.
Other file sharing systems create a user folder for each user, and then automatically set both the ownership and the permissions to files according to the particular user folder in which a file resides. Providing this type of control over access to files enables each user to readily read and write files that clearly belong to that user, while simultaneously blocking the user from receiving write access to any other user's user folder and corresponding contents.
Such a system, however, suffers from several drawbacks. The overall clarity of bin or project file organization of such a system is hindered by the fact that proper permissions are only achieved when a project consisting of many bin and project files is dispersed among users. Achieving proper permissions to files involves continuously moving files from folder to folder, which can make tracking or locating a particular file difficult. This is particularly true as the number of users on a project grows. For example, a user that is looking for a file in a particular project being worked on by 20 users may be required to search 19 different user folders before identifying the desired file.
Furthermore, given the dispersal of files of a single project across many different folders, it is difficult to provide a convenient and comprehensive single-screen view of all files associated with a single project. This can make managing projects and tracking their progress difficult. It also impedes the ability to quickly view the partition of work among various users on a project and compare their relative workloads, e.g., for managerial purposes.
Great difficulty exists in automatically assigning both ownerships and permissions in a manner that enables convenient transfer of exclusive write access rights between multiple users working on a single set of files. Other attempts involve creating copies of files, which can become computationally expensive. Yet other attempts involve creating complex link structures, but this can result in risk of broken links when files are moved or updated. No existing system readily enables automation of the various desirable features described herein.